<%-- 
    Document   : Coordenadas
    Created on : 05-abr-2012, 17:30:56
    Author     : omar moreno
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.SQLException"%>
<%@page import="escom.ipn.modelo.dto.coordenadaIncidenteClass"%>
<%@page import="escom.ipn.modelo.dto.CoordenadaPieTierraClass"%>
<%@page import="java.util.List"%>
<%@page import="escom.ipn.modelo.delegate.cooerdenadaIncidenteDelegate"%>
<%@page import="escom.ipn.modelo.delegate.CoordenadaRecursoDelegate"%>
<%@page import="java.util.List" %>
<%@page import="java.lang.Object" %>
<%@page import="org.jdom.Document"%>
<%@page import="org.jdom.Element"%>
<%@page import="org.jdom.input.SAXBuilder" %>
<%@page import="org.jdom.Document"%>
<%@page import="org.jdom.Element"%>
<%@page import="org.jdom.Attribute"%>
<%@page import="org.jdom.output.XMLOutputter" %>
<%@page import="java.io.FileOutputStream" %>
<%@page import="java.io.File" %>
<%@page import="java.io.BufferedWriter"%>
<%@page import="java.io.FileWriter"%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Operador 066</title> 
    </head>
    <body>
            <%        
                            Document bd_xml=null;
                            Element raiz;
                            HttpSession sess = request.getSession(true);
                            coordenadaIncidenteClass incidente=new coordenadaIncidenteClass();
                            CoordenadaPieTierraClass recurso=new CoordenadaPieTierraClass();
                            recurso.setSector(sess.getAttribute("sector").toString());
                            //incidente.setId_usuario("2");
                            incidente.setId_usuario(sess.getAttribute("id_Usuario").toString());
                            SAXBuilder builder=new SAXBuilder();
                            //String xml_path="D:\\Documents and Settings\\omar moreno\\Mis documentos\\NetBeansProjects\\trunk\\CAD-DELTA\\web\\Coordenadas\\Coordenadas_general_user_"+incidente.getId_Usuario()+".xml";
                            String xml_path="../../../../Users/Daniel/NetBeansProjects/trunk/CAD-DELTA/web/Coordenadas/Coordenadas_general_user_"+incidente.getId_Usuario()+".xml";
                            File archivo=new File(xml_path);
                            
                            if(!archivo.exists())
                            {
                              String ruta_base="../../../../Users/Daniel/NetBeansProjects/trunk/CAD-DELTA/web/Coordenadas/base.xml";
                              //String ruta_base="D:\\Documents and Settings\\omar moreno\\Mis documentos\\NetBeansProjects\\trunk\\CAD-DELTA\\web\\Coordenadas\\base.xml";
                              //archivo.createNewFile(); 
                              
                              bd_xml=builder.build(ruta_base);
                              FileOutputStream file_os=new FileOutputStream(xml_path);
                              XMLOutputter xml_out=new XMLOutputter();
                              /*escribimos el documento en el disco duro*/
                              xml_out.output(bd_xml,file_os);
                              /*cerramos el stream*/
                              file_os.close();

                              bd_xml=builder.build(xml_path);
                              //bd_xml.setRootElement(new Element("root"));
                              raiz=bd_xml.getRootElement();
                            }
                                                                                                                                                                 
                            else
                            {
                                bd_xml=builder.build(xml_path);
                                raiz=bd_xml.getRootElement();
                                raiz.removeChildren("incidente");
                                raiz.removeChildren("pie_tierra");
                                raiz.removeChildren("radio_patrulla");
                            }
                             //bd_xml.addContent(raiz);
                            /*Guardamos la direccion al archivo, el archivo, y la lista de nodos departamento */
                            
                            //Elementos de los incidentes
                            //Element incidente_xml = new Element("incidente");
                         
                                
                            //Elementos de los recursos Pie Tierra
                            //Element pie_tierra_xml=new Element("pie_tierra");
                            
                            //Element radio_patrulla_xml=new Element("radio_patrulla");
                          
                            
                            
                            cooerdenadaIncidenteDelegate del = new cooerdenadaIncidenteDelegate();
                   
                            incidente.setId_usuario(sess.getAttribute("id_Usuario").toString());
                            //incidente.setId_usuario("14");
                            CoordenadaRecursoDelegate recursoDel=new CoordenadaRecursoDelegate();
                            CoordenadaRecursoDelegate recursoPatrulla=new CoordenadaRecursoDelegate();
                            try{
                            List lista = del.mostrarCoordenadas(incidente);
                            if(lista!=null)
                            for (int i = 0; i < lista.size(); i++) 
                            {
                                    
                                    coordenadaIncidenteClass coordenadas = (coordenadaIncidenteClass) lista.get(i); 
                                    Element incidente_xml = new Element("incidente");
                                    incidente_xml.setAttribute(new Attribute("latitud",coordenadas.getLatitude().toString()));
                                    incidente_xml.setAttribute(new Attribute("longitud",coordenadas.getLongitude().toString()));
                                    incidente_xml.setAttribute(new Attribute("estado",coordenadas.getEstado()));
                                    incidente_xml.setAttribute(new Attribute("descripcion",coordenadas.getNombreIncidente()));
                                    incidente_xml.setAttribute(new Attribute("id",coordenadas.getId()));
                                    raiz.addContent(incidente_xml);
                            }
                            
                            List listaRecursos=recursoDel.mostrarCoordenadas(recurso);
                            if(listaRecursos!=null)
                            for (int i = 0; i < listaRecursos.size(); i++) 
                            {
                                    CoordenadaPieTierraClass coordenadasRecursos = (CoordenadaPieTierraClass) listaRecursos.get(i); 
                                    Element pie_tierra_xml=new Element("pie_tierra");
                                    pie_tierra_xml.setAttribute(new Attribute("latitud",coordenadasRecursos.getLatitude().toString()));
                                    pie_tierra_xml.setAttribute(new Attribute("longitud",coordenadasRecursos.getLongitude().toString()));
                                    pie_tierra_xml.setAttribute(new Attribute("estado",coordenadasRecursos.getEstado()));
                                    pie_tierra_xml.setAttribute(new Attribute("descripcion",coordenadasRecursos.getNombreRecurso()));
                                    pie_tierra_xml.setAttribute(new Attribute("id",coordenadasRecursos.getRadio()));
                                    raiz.addContent(pie_tierra_xml);
                            } 
                                    
                            List listaPatrullas=recursoPatrulla.mostrarCoordenadasPatrullas(recurso);
                            if(listaPatrullas!=null)
                            for (int i = 0; i < listaPatrullas.size(); i++) 
                            {
                                    Element radio_patrulla_xml=new Element("radio_patrulla");
                                    CoordenadaPieTierraClass coordenadasPatrullas = (CoordenadaPieTierraClass) listaPatrullas.get(i);  
                                    radio_patrulla_xml.setAttribute(new Attribute("latitud",coordenadasPatrullas.getLatitude().toString()));
                                    radio_patrulla_xml.setAttribute(new Attribute("longitud",coordenadasPatrullas.getLongitude().toString()));
                                    radio_patrulla_xml.setAttribute(new Attribute("estado",coordenadasPatrullas.getEstado()));
                                    radio_patrulla_xml.setAttribute(new Attribute("descripcion",coordenadasPatrullas.getNombreRecurso()));
                                    radio_patrulla_xml.setAttribute(new Attribute("id",coordenadasPatrullas.getRadio()));
                                    raiz.addContent(radio_patrulla_xml);
                                    
                            } 
                            
                            //raiz.addContent(incidente_xml);
                            //raiz.addContent(pie_tierra_xml);
                            //raiz.addContent(radio_patrulla_xml);
                            
                            XMLOutputter xml_out=new XMLOutputter();
                            FileOutputStream file_os=new FileOutputStream(xml_path);
                            xml_out.output(bd_xml,file_os);
                            file_os.close();
                            
                       }catch(SQLException e){out.println(e.toString());}

            %>
    </body>
</html>
